.bounds {
  background-color: black;
  overflow: hidden;
  cursor: none !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

app-ov-video video {
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  color: #ffffff;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: Arial, Helvetica, sans-serif;
}

/*!
 * Copyright (c) 2017 TokBox, Inc.
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 */

.custom-class {
  min-height: 0px !important;
}

/**
 * OT Base styles
 */

/* Root OT object, this is where our CSS reset happens */

.OT_root, .OT_root * {
  color: #ffffff;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: Arial, Helvetica, sans-serif;
  vertical-align: baseline;
}

.OT_dialog-centering {
  display: table;
  width: 100%;
  height: 100%;
}

.OT_dialog-centering-child {
  display: table-cell;
  vertical-align: middle;
}

.OT_dialog {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 576px;
  margin-right: auto;
  margin-left: auto;
  padding: 36px;
  text-align: center;
  /* centers all the inline content */
  background-color: #363636;
  color: #fff;
  -webkit-box-shadow: 2px 4px 6px #999;
  box-shadow: 2px 4px 6px #999;
  font-family: 'Didact Gothic', sans-serif;
  font-size: 13px;
  line-height: 1.4;
}

.OT_dialog * {
  font-family: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.OT_closeButton {
  color: #999999;
  cursor: pointer;
  font-size: 32px;
  line-height: 36px;
  position: absolute;
  right: 18px;
  top: 0;
}

.OT_dialog-messages {
  text-align: center;
}

.OT_dialog-messages-main {
  margin-bottom: 36px;
  line-height: 36px;
  font-weight: 300;
  font-size: 24px;
}

.OT_dialog-messages-minor {
  margin-bottom: 18px;
  font-size: 13px;
  line-height: 18px;
  color: #A4A4A4;
}

.OT_dialog-messages-minor strong {
  color: #ffffff;
}

.OT_dialog-actions-card {
  display: inline-block;
}

.OT_dialog-button-title {
  margin-bottom: 18px;
  line-height: 18px;
  font-weight: 300;
  text-align: center;
  font-size: 14px;
  color: #999999;
}

.OT_dialog-button-title label {
  color: #999999;
}

.OT_dialog-button-title a, .OT_dialog-button-title a:link, .OT_dialog-button-title a:active {
  color: #02A1DE;
}

.OT_dialog-button-title strong {
  color: #ffffff;
  font-weight: 100;
  display: block;
}

.OT_dialog-button {
  display: inline-block;
  margin-bottom: 18px;
  padding: 0 1em;
  background-color: #1CA3DC;
  text-align: center;
  cursor: pointer;
}

.OT_dialog-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.OT_dialog-button-large {
  line-height: 36px;
  padding-top: 9px;
  padding-bottom: 9px;
  font-weight: 100;
  font-size: 24px;
}

.OT_dialog-button-small {
  line-height: 18px;
  padding-top: 9px;
  padding-bottom: 9px;
  background-color: #444444;
  color: #999999;
  font-size: 16px;
}

.OT_dialog-progress-bar {
  display: inline-block;
  /* prevents margin collapse */
  width: 100%;
  margin-top: 5px;
  margin-bottom: 41px;
  border: 1px solid #4E4E4E;
  height: 8px;
}

.OT_dialog-progress-bar-fill {
  height: 100%;
  background-color: #29A4DA;
}

.OT_dialog-plugin-upgrading .OT_dialog-plugin-upgrade-percentage {
  line-height: 54px;
  font-size: 48px;
  font-weight: 100;
}

/* Helpers */

.OT_centered {
  position: fixed;
  left: 50%;
  top: 50%;
  margin: 0;
}

.OT_dialog-hidden {
  display: none;
}

.OT_dialog-button-block {
  display: block;
}

.OT_dialog-no-natural-margin {
  margin-bottom: 0;
}

/* Publisher and Subscriber styles */

.OT_publisher, .OT_subscriber {
  position: relative;
  min-width: 48px;
  min-height: 48px;
}

.OT_publisher .OT_video-element, .OT_subscriber .OT_video-element {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

/* Styles that are applied when the video element should be mirrored */

.OT_publisher.OT_mirrored .OT_video-element {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.OT_subscriber_error {
  background-color: #000;
  color: #fff;
  text-align: center;
}

.OT_subscriber_error>p {
  padding: 20px;
}

/* The publisher/subscriber name/mute background */

.OT_publisher .OT_bar, .OT_subscriber .OT_bar, .OT_publisher .OT_name, .OT_subscriber .OT_name, .OT_publisher .OT_archiving, .OT_subscriber .OT_archiving, .OT_publisher .OT_archiving-status, .OT_subscriber .OT_archiving-status, .OT_publisher .OT_archiving-light-box, .OT_subscriber .OT_archiving-light-box {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  height: 34px;
  position: absolute;
}

.OT_publisher .OT_bar, .OT_subscriber .OT_bar {
  background: rgba(0, 0, 0, 0.4);
}

.OT_publisher .OT_edge-bar-item, .OT_subscriber .OT_edge-bar-item {
  z-index: 1;
  /* required to get audio level meter underneath */
}

/* The publisher/subscriber name panel/archiving status bar */

.OT_publisher .OT_name, .OT_subscriber .OT_name {
  background-color: transparent;
  color: #ffffff;
  font-size: 15px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 4px 0 36px;
}

.OT_publisher .OT_archiving-status, .OT_subscriber .OT_archiving-status {
  background: rgba(0, 0, 0, 0.4);
  top: auto;
  bottom: 0;
  left: 34px;
  padding: 0 4px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 15px;
  line-height: 34px;
  font-weight: normal;
}

.OT_micro .OT_archiving-status, .OT_micro:hover .OT_archiving-status, .OT_mini .OT_archiving-status, .OT_mini:hover .OT_archiving-status {
  display: none;
}

.OT_publisher .OT_archiving-light-box, .OT_subscriber .OT_archiving-light-box {
  background: rgba(0, 0, 0, 0.4);
  top: auto;
  bottom: 0;
  right: auto;
  width: 34px;
  height: 34px;
}

.OT_archiving-light {
  width: 7px;
  height: 7px;
  border-radius: 30px;
  position: absolute;
  top: 14px;
  left: 14px;
  background-color: #575757;
  -webkit-box-shadow: 0 0 5px 1px #575757;
  box-shadow: 0 0 5px 1px #575757;
}

.OT_archiving-light.OT_active {
  background-color: #970d13;
  animation: OT_pulse 1.3s ease-in;
  -webkit-animation: OT_pulse 1.3s ease-in;
  -moz-animation: OT_pulse 1.3s ease-in;
  -webkit-animation: OT_pulse 1.3s ease-in;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes OT_pulse {
  0% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
  30% {
    -webkit-box-shadow: 0 0 5px 1px #c70019;
    box-shadow: 0 0 5px 1px #c70019;
  }
  50% {
    -webkit-box-shadow: 0 0 5px 1px #c70019;
    box-shadow: 0 0 5px 1px #c70019;
  }
  80% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
  100% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
}

@-webkit-keyframes OT_pulse {
  0% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
  30% {
    -webkit-box-shadow: 0 0 5px 1px #c70019;
    box-shadow: 0 0 5px 1px #c70019;
  }
  50% {
    -webkit-box-shadow: 0 0 5px 1px #c70019;
    box-shadow: 0 0 5px 1px #c70019;
  }
  80% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
  100% {
    -webkit-box-shadow: 0 0 0px 0px #c70019;
    box-shadow: 0 0 0px 0px #c70019;
  }
}

.OT_mini .OT_bar, .OT_bar.OT_mode-mini, .OT_bar.OT_mode-mini-auto {
  bottom: 0;
  height: auto;
}

.OT_mini .OT_name.OT_mode-off, .OT_mini .OT_name.OT_mode-on, .OT_mini .OT_name.OT_mode-auto, .OT_mini:hover .OT_name.OT_mode-auto {
  display: none;
}

.OT_publisher .OT_name, .OT_subscriber .OT_name {
  left: 10px;
  right: 37px;
  height: 34px;
  padding-left: 0;
}

.OT_publisher .OT_mute, .OT_subscriber .OT_mute {
  border: none;
  cursor: pointer;
  display: block;
  position: absolute;
  text-align: center;
  text-indent: -9999em;
  background-color: transparent;
  background-repeat: no-repeat;
}

.OT_publisher .OT_mute, .OT_subscriber .OT_mute {
  right: 0;
  top: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  height: 36px;
  width: 37px;
}

.OT_mini .OT_mute, .OT_publisher.OT_mini .OT_mute.OT_mode-auto.OT_mode-on-hold, .OT_subscriber.OT_mini .OT_mute.OT_mode-auto.OT_mode-on-hold {
  top: 50%;
  left: 50%;
  right: auto;
  margin-top: -18px;
  margin-left: -18.5px;
  border-left: none;
}

.OT_publisher .OT_mute {
  background-image: url();
  background-position: 9px 5px;
}

.OT_publisher .OT_mute.OT_active {
  background-image: url();
  background-position: 9px 4px;
}

.OT_subscriber .OT_mute {
  background-image: url();
  background-position: 8px 7px;
}

.OT_subscriber .OT_mute.OT_active {
  background-image: url();
  background-position: 7px 7px;
}

/**
 * Styles for display modes
 *
 * Note: It's important that these completely control the display and opacity
 * attributes, no other selectors should atempt to change them.
 */

/* Default display mode transitions for various chrome elements */

.OT_publisher .OT_edge-bar-item, .OT_subscriber .OT_edge-bar-item {
  -webkit-transition-property: top, bottom, opacity;
  transition-property: top, bottom, opacity;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}

.OT_publisher .OT_edge-bar-item.OT_mode-off, .OT_subscriber .OT_edge-bar-item.OT_mode-off, .OT_publisher .OT_edge-bar-item.OT_mode-auto, .OT_subscriber .OT_edge-bar-item.OT_mode-auto, .OT_publisher .OT_edge-bar-item.OT_mode-mini-auto, .OT_subscriber .OT_edge-bar-item.OT_mode-mini-auto {
  top: -25px;
  opacity: 0;
}

.OT_publisher .OT_edge-bar-item.OT_mode-off, .OT_subscriber .OT_edge-bar-item.OT_mode-off {
  display: none;
}

.OT_mini .OT_mute.OT_mode-auto, .OT_publisher .OT_mute.OT_mode-mini-auto, .OT_subscriber .OT_mute.OT_mode-mini-auto {
  top: 50%;
}

.OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-off, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-off, .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-mini-auto, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-mini-auto {
  top: auto;
  bottom: -25px;
}

.OT_publisher .OT_edge-bar-item.OT_mode-on, .OT_subscriber .OT_edge-bar-item.OT_mode-on, .OT_publisher .OT_edge-bar-item.OT_mode-auto.OT_mode-on-hold, .OT_subscriber .OT_edge-bar-item.OT_mode-auto.OT_mode-on-hold, .OT_publisher:hover .OT_edge-bar-item.OT_mode-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_mode-auto, .OT_publisher:hover .OT_edge-bar-item.OT_mode-mini-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_mode-mini-auto {
  top: 0;
  opacity: 1;
}

.OT_mini .OT_mute.OT_mode-on, .OT_mini:hover .OT_mute.OT_mode-auto, .OT_mute.OT_mode-mini, .OT_root:hover .OT_mute.OT_mode-mini-auto {
  top: 50%;
}

.OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-on, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-on, .OT_publisher:hover .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto {
  top: auto;
  bottom: 0;
  opacity: 1;
}

/* Contains the video element, used to fix video letter-boxing */

.OT_widget-container {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #000000;
  overflow: hidden;
}

/* Load animation */

.OT_root .OT_video-loading {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: none;
  background-color: rgba(0, 0, 0, .75);
}

.OT_root .OT_video-loading .OT_video-loading-spinner {
  background: url() no-repeat;
  position: absolute;
  width: 32px;
  height: 32px;
  left: 50%;
  top: 50%;
  margin-left: -16px;
  margin-top: -16px;
  -webkit-animation: OT_spin 2s linear infinite;
  animation: OT_spin 2s linear infinite;
}

@-webkit-keyframes OT_spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes OT_spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.OT_publisher.OT_loading .OT_video-loading, .OT_subscriber.OT_loading .OT_video-loading {
  display: block;
}

.OT_video-centering {
  display: table;
  width: 100%;
  height: 100%;
}

.OT_video-container {
  display: table-cell;
  vertical-align: middle;
}

.OT_video-poster {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: none;
  opacity: .25;
  background-repeat: no-repeat;
  background-image: url();
  background-size: auto 76%;
}

.OT_fit-mode-cover .OT_video-element {
  -o-object-fit: cover;
  object-fit: cover;
}

/* Workaround for iOS freezing issue when cropping videos */

/* https://bugs.webkit.org/show_bug.cgi?id=176439 */

@media only screen and (orientation: portrait) {
  .OT_subscriber.OT_ForceContain.OT_fit-mode-cover .OT_video-element {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
}

.OT_fit-mode-contain .OT_video-element {
  -o-object-fit: contain;
  object-fit: contain;
}

.OT_fit-mode-cover .OT_video-poster {
  background-position: center bottom;
}

.OT_fit-mode-contain .OT_video-poster {
  background-position: center;
}

.OT_audio-level-meter {
  position: absolute;
  width: 25%;
  max-width: 224px;
  min-width: 21px;
  top: 0;
  right: 0;
  overflow: hidden;
}

.OT_audio-level-meter:before {
  /* makes the height of the container equals its width */
  content: '';
  display: block;
  padding-top: 100%;
}

.OT_audio-level-meter__bar {
  position: absolute;
  width: 192%;
  /* meter value can overflow of 8% */
  height: 192%;
  top: -96%/* half of the size */
  ;
  right: -96%;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, .8);
}

.OT_audio-level-meter__audio-only-img {
  position: absolute;
  top: 22%;
  right: 15%;
  width: 40%;
  opacity: .7;
  background: url() no-repeat center;
}

.OT_audio-level-meter__audio-only-img:before {
  /* makes the height of the container equals its width */
  content: '';
  display: block;
  padding-top: 100%;
}

.OT_audio-level-meter__value {
  position: absolute;
  border-radius: 50%;
  background-image: radial-gradient(circle, rgba(151, 206, 0, 1) 0%, rgba(151, 206, 0, 0) 100%);
}

.OT_audio-level-meter.OT_mode-off {
  display: none;
}

.OT_audio-level-meter.OT_mode-on, .OT_audio-only .OT_audio-level-meter.OT_mode-auto {
  display: block;
}

.OT_audio-only.OT_publisher .OT_video-element, .OT_audio-only.OT_subscriber .OT_video-element {
  display: none;
}

.OT_video-disabled-indicator {
  opacity: 1;
  border: none;
  display: none;
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: bottom right;
  pointer-events: none;
  top: 0;
  left: 0;
  bottom: 3px;
  right: 3px;
}

.OT_video-disabled {
  background-image: url();
  background-size: 33px auto;
}

.OT_video-disabled-warning {
  background-image: url();
  background-size: 33px auto;
}

.OT_video-disabled-indicator.OT_active {
  display: block;
}

.OT_audio-blocked-indicator {
  opacity: 1;
  border: none;
  display: none;
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.OT_audio-blocked {
  background-image: url();
  background-size: 90px auto;
}

.OT_container-audio-blocked {
  cursor: pointer;
}

.OT_container-audio-blocked.OT_mini .OT_edge-bar-item {
  display: none;
}

.OT_container-audio-blocked .OT_mute {
  display: none;
}

.OT_audio-blocked-indicator.OT_active {
  display: block;
}

.OT_video-unsupported {
  opacity: 1;
  border: none;
  display: none;
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url();
  background-size: 58px auto;
  pointer-events: none;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin-top: -30px;
}

.OT_video-unsupported-bar {
  display: none;
  position: absolute;
  width: 192%;
  /* copy the size of the audio meter bar for symmetry */
  height: 192%;
  top: -96%/* half of the size */
  ;
  left: -96%;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, .8);
}

.OT_video-unsupported-img {
  display: none;
  position: absolute;
  top: 11%;
  left: 15%;
  width: 70%;
  opacity: .7;
  background-image: url();
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}

.OT_video-unsupported-img:before {
  /* makes the height of the container 93% of its width (90/97 px) */
  content: '';
  display: block;
  padding-top: 93%;
}

.OT_video-unsupported-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  height: 100%;
  margin-top: 40px;
}